Okay, I need to write down thoughts on generalization, persistence, and lib-defined classes.

* MObjectRef should become a subclass of a general MProxy class. MProxy:
  * will be serializable
  * will not contain current-execution-specific data, unless as a cache
  * will define a standard set of ops for dealing with proxies, like "does the target exist"

* Proxies will be possible for non-persistent objects

* All persistent objects should have an API for adding/removing events targeted at them, if I implement the events-on-each-object model. Another requirement of that is that persistent classes must allow iterating over all objects.

* Users become MObjects, but with a different set of lib-defined methods

* Semi-related: the events-on-objects model
  * Only message events are on objects
  * events have no owner; current 'target' becomes owner too